মোবাইল অ্যাপ ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ অংশ হল অ্যাপের automatic deployment বা স্বয়ংক্রিয় ডেপ্লয়মেন্ট। এটি প্লে স্টোর এবং অ্যাপ স্টোরে আপনার অ্যাপ আপলোড এবং আপডেট করার প্রক্রিয়া সহজ করে তোলে। এখানে আমরা Play Store (Android অ্যাপের জন্য) এবং App Store (iOS অ্যাপের জন্য) এ কোর্ডভা অ্যাপের জন্য automatic deployment কিভাবে সেটআপ করবেন তা বিস্তারিতভাবে আলোচনা করব।
১. Play Store এ Automatic Deployment (Android)
Play Store এ অ্যাপ আপলোড করার জন্য Google Play Developer Console ব্যবহার করা হয়। স্বয়ংক্রিয়ভাবে অ্যাপ আপলোড করতে CI/CD (Continuous Integration/Continuous Deployment) টুলের সাহায্য নেয়া হয়, যেমন Jenkins, GitLab CI, বা GitHub Actions।
CI/CD টুলের মাধ্যমে Automatic Deployment সেটআপ:
- Google Play Developer API সেটআপ: Play Store এ অ্যাপ ডেপ্লয় করার জন্য আপনাকে প্রথমে Google Play Developer API সেটআপ করতে হবে।
- Google Cloud Console এ গিয়ে একটি প্রজেক্ট তৈরি করুন।
- Play Developer API এর জন্য একটি service account তৈরি করুন এবং
jsonকীগুলি ডাউনলোড করুন। - ডাউনলোড করা
jsonকী ফাইলটি আপনার CI/CD সিস্টেমে ব্যবহার করুন।
CI/CD সিস্টেমে সেটআপ করা: আপনি Jenkins, GitLab CI বা GitHub Actions ব্যবহার করতে পারেন। নিচে একটি GitHub Actions workflow এর উদাহরণ দেওয়া হলো যা Play Store এ স্বয়ংক্রিয়ভাবে অ্যাপ আপলোড করবে।
- প্রথমে GitHub রিপোজিটরি তৈরি করুন এবং আপনার কোর্ডভা প্রোজেক্ট পুশ করুন।
.github/workflowsফোল্ডারে একটিdeploy.ymlফাইল তৈরি করুন এবং নিচের কনফিগারেশন যুক্ত করুন।
name: Deploy to Google Play Store on: push: branches: - main # আপনার প্রধান ব্রাঞ্চ jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: java-version: '11' - name: Build Cordova app run: | npm install cordova build android --release - name: Upload APK to Google Play uses: r0adkll/upload-google-play-release@v1 with: serviceAccountJsonKey: ${{ secrets.PLAY_API_CREDENTIALS }} packageName: 'com.example.myapp' # আপনার অ্যাপের প্যাকেজ নাম releaseFiles: './platforms/android/app/build/outputs/apk/release/app-release.apk' track: 'production'এখানে
serviceAccountJsonKeyহল আপনার Google Play API service account JSON ফাইলের কন্টেন্ট, যা GitHub Secrets এ সেভ করা থাকতে হবে।- Play Store এ অ্যাপ আপলোড: আপনার অ্যাপটি main branch এ push হওয়ার পর, GitHub Actions এর মাধ্যমে এটি স্বয়ংক্রিয়ভাবে Play Store এ আপলোড হয়ে যাবে।
২. App Store এ Automatic Deployment (iOS)
iOS অ্যাপ স্টোরে অ্যাপ আপলোড করতে App Store Connect ব্যবহার করা হয়। iOS অ্যাপ স্বয়ংক্রিয়ভাবে আপলোড করতে Fastlane একটি জনপ্রিয় টুল।
Fastlane ব্যবহার করে App Store এ Automatic Deployment:
Fastlane সেটআপ: Fastlane ব্যবহার করতে হলে প্রথমে আপনার মেশিনে Fastlane ইনস্টল করতে হবে:
sudo gem install fastlaneFastlane কনফিগারেশন: Fastlane কনফিগারেশন করতে, আপনার কোর্ডভা প্রোজেক্টের root ফোল্ডারে যান এবং
fastlane initকমান্ডটি চালান। এরপর ফাস্টলেইন আপনাকে কয়েকটি প্রশ্ন করবে, যেমন:- আপনার অ্যাপ কোথায় রয়েছে?
- অ্যাপ স্টোরে আপলোড করার জন্য আপনার অ্যাপের bundle identifier কী?
Fastlane এগুলোর ভিত্তিতে একটি কনফিগারেশন ফাইল তৈরি করবে। আপনি
Fastfileফাইলে কিছু সেটিংস এবং স্ক্রিপ্ট অ্যাড করতে পারেন।- App Store Connect API সেটআপ: iOS অ্যাপের জন্য আপনাকে App Store Connect API কনফিগার করতে হবে। এজন্য আপনাকে Apple Developer Console এ গিয়ে একটি API Key তৈরি করতে হবে।
CI/CD সিস্টেমে Fastlane ইন্টিগ্রেট করা: Fastlane এর মাধ্যমে iOS অ্যাপ আপলোড করতে, GitLab CI বা GitHub Actions ব্যবহার করতে পারেন। নিচে একটি GitHub Actions এর উদাহরণ দেয়া হলো:
name: Deploy to App Store on: push: branches: - main jobs: build: runs-on: macos-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up Fastlane run: | brew install fastlane fastlane init - name: Build and Upload to App Store run: | fastlane ios betaএখানে
ios betaহলো Fastlane এর একটি lane যা আপনার অ্যাপ স্টোরে আপলোড করবে।- App Store এ অ্যাপ আপলোড: আপনি যখন main branch এ কোড push করবেন, Fastlane স্বয়ংক্রিয়ভাবে অ্যাপ স্টোরে আপনার অ্যাপ আপলোড করবে।
সারাংশ
Play Store এবং App Store এ অ্যাপ স্বয়ংক্রিয়ভাবে ডেপ্লয় করতে CI/CD টুল এবং Fastlane এর মতো টুল ব্যবহার করতে হয়। Play Store এ Google Play API এবং Fastlane ব্যবহারের মাধ্যমে iOS অ্যাপ স্টোরে অ্যাপ আপলোড করা সম্ভব। এই প্রক্রিয়া অ্যাপ ডেভেলপমেন্ট এবং ডেপ্লয়মেন্টের সময়ের অনেকটাই কমিয়ে দেয় এবং প্রতিটি আপডেট ও রিলিজ সহজ করে তোলে।
Read more